home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / c / stut_src / debug.c < prev    next >
Text File  |  1996-05-27  |  4KB  |  208 lines

  1. /*
  2.  * debug.c
  3.  *
  4.  * Purpose:
  5.  * --------
  6.  * Routines de debuggage
  7.  * En particulier gestion d'un log ds debug ds une fenetre
  8.  *
  9.  * History:
  10.  * --------
  11.  * 25.09.94: fplanque: Created
  12.  */
  13.  
  14.  
  15.      #include "!OPTIONS.H"                /* Options de compilation */         
  16.     #define    THIS_FILE    "DEBUG.C v1.00 - 03.95"
  17.  
  18. /*
  19.  * System headers:
  20.  */
  21.     #include    <stdio.h>
  22.     #include <string.h>   
  23.  
  24. /*
  25.  * Custom headers:
  26.  */
  27.     #include    "SPEC_PU.H"
  28.     #include    "WIN_PU.H"
  29.     #include    "TEXT_PU.H"
  30.     #include    "DEBUG_PU.H"    
  31.  
  32.  
  33.  
  34.  
  35. /*
  36.  * ------------------------- MEMBRES PUBLICS ----------------------------
  37.  */
  38.     WIPARAMS    *    G_debug_window = NULL;
  39.     char             Tsz_DebugMsg[256];
  40.  
  41. /*
  42.  * ------------------------- MEMBRES PRIVES ----------------------------
  43.  */
  44.     /*
  45.      * Texte log en ram:
  46.      */
  47.     TEXTINFO *    M_pTextInfo_Debug;
  48.  
  49.  
  50.  
  51. /*
  52.  * ----------------------- OPERATIONS PRIVEES -------------------------
  53.  */
  54.     /*
  55.      * Cr‚ation du log texte en RAM
  56.      * appell‚ par constructeur uniquement
  57.      */
  58.     void    debug_CreateRamText( void );
  59.  
  60.  
  61. /*
  62.  * ------------------------ IMPLEMENTATION -------------------------
  63.  */
  64.  
  65.  
  66.  
  67.  
  68. /*
  69.  * debug_Construct(-)
  70.  *
  71.  * Purpose:
  72.  * --------
  73.  * Construction de "l'Objet" debug
  74.  * init des variables etc..
  75.  *
  76.  * History:
  77.  * --------
  78.  * 25.09.94: fplanque: Created
  79.  */
  80. void    debug_Construct( void )
  81. {
  82.     /*
  83.      * Cr‚ation du log de debuggage en RAM:
  84.      * (invisible pour l'instant)
  85.      */
  86.     debug_CreateRamText();
  87. }
  88.  
  89.  
  90.  
  91. /*
  92.  * create_debugtext(-)
  93.  *
  94.  * Purpose:
  95.  * --------
  96.  * Cr‚ation de l'en-tˆte du texte de debug
  97.  * ainsi que de ses paramŠtres d'affichage
  98.  *
  99.  * History:
  100.  * --------
  101.  * 1993: fplanque: Created
  102.  * 25.09.94: devient fonction ind‚pendante, la mise en fenˆtre s'effectue s‚par‚ment
  103.  */
  104. void    debug_CreateRamText( void )
  105. {
  106.     /*
  107.      * Cr‚e un texte:
  108.      */
  109.     M_pTextInfo_Debug = create_TextInfo();
  110.  
  111.     /*
  112.      * Cr‚e quelques lignes 
  113.      */
  114.     text_addLineToEnd( M_pTextInfo_Debug, "Stut One version 3" );
  115.     text_addLineToEnd( M_pTextInfo_Debug, "Copyright (c)1993-94 by Fran‡ois PLANQUE." );
  116.     text_addLineToEnd( M_pTextInfo_Debug, NULL );
  117.     text_addLineToEnd( M_pTextInfo_Debug, "Ready." );
  118.  
  119. }
  120.  
  121.  
  122.  
  123.  
  124. /*
  125.  * debug_CreateWinText(-)
  126.  *
  127.  * Purpose:
  128.  * --------
  129.  * Pr‚paration du texte de debug pour son affichage ne fenetre
  130.  * ainsi que de ses paramŠtres d'affichage
  131.  *
  132.  * History:
  133.  * --------
  134.  * 1993: fplanque: Created
  135.  * 25.05.94: fplanque: Le paramŠtre est d‚sormais un TEXT_DRAWPAR
  136.  * 25.09.94: le texte n'est plus cr‚‚ sur place, il a d‚j… ‚t‚ cr‚‚ avant
  137.  */
  138. int    debug_CreateWinText( 
  139.             TEXT_DRAWPAR * *    ppTextDrawPar )
  140. {
  141.     /*
  142.      * Cr‚e des paramŠtres d'affichages pour ce texte:
  143.      */
  144.     *ppTextDrawPar = create_TextDrawPar( M_pTextInfo_Debug, 200 );
  145.  
  146.     if ( *ppTextDrawPar == NULL )
  147.     {
  148.         return    WRONG0;
  149.     }
  150.  
  151.     return    OK1;
  152. }
  153.  
  154.  
  155.  
  156. /*
  157.  * signale(-)
  158.  *
  159.  * Purpose:
  160.  * --------
  161.  * Signal + Information de debbugging dans la fenˆtre debug
  162.  * ou a d‚faut ds le log invisible
  163.  *
  164.  * History:
  165.  * --------
  166.  * 1993: fplanque: Created
  167.  * 25.09.94: fplanque: appelle maintenant debug_AddLine()
  168.  */
  169. void    signale( 
  170.             const char * inf )        /* In: texte … dupliker et ins‚rer ds Log */
  171. {
  172.     ping();
  173.     debug_AddLine( inf );
  174. }
  175.  
  176.  
  177.  
  178. /*
  179.  * debug_AddLine(-)
  180.  *
  181.  * Purpose:
  182.  * --------
  183.  * Information de debbugging dans la fenˆtre debug
  184.  * ou a d‚faut ds le log invisible
  185.  *
  186.  * History:
  187.  * --------
  188.  * 25.09.94: extracted from signale()
  189.  * 25.09.94: ajoute au log invisible si pas de fen ouverte
  190.  */
  191. void    debug_AddLine( 
  192.             const char * inf )        /* In: texte … dupliker et ins‚rer ds Log */
  193. {
  194.     if ( G_debug_window != NULL )
  195.     {    /*
  196.          * S'il existe une fenˆtre de debug: 
  197.          */
  198.         add_textinf( G_debug_window, inf );
  199.     }
  200.     else
  201.     {    /*
  202.          * Pas de fenˆtre debug:
  203.          * on ajoute qd mˆme au log invisible (pour l'instant)
  204.          */
  205.         text_addLineToEnd( M_pTextInfo_Debug, inf );
  206.     }
  207. }
  208.